home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / EDITORS / FUE / h / EDEF < prev    next >
Text File  |  1991-04-03  |  19KB  |  346 lines

  1. /*      EDEF:           Global variable definitions for
  2.                         MicroEMACS 3.9
  3.  
  4.                         written by Daniel Lawrence
  5.                         based on code by Dave G. Conroy,
  6.                                 Steve Wilhite and George Jones
  7. */
  8.  
  9. /*      Modifications:
  10.         13-Sep-89       Mike Burrow (INMOS)     Added folding.
  11. */
  12.  
  13. #ifdef  maindef
  14.  
  15. /* for MAIN.C */
  16.  
  17. /* initialized global definitions */
  18.  
  19. NOSHARE int DNEAR fillcol = 72;         /* Current fill column          */
  20. NOSHARE short kbdm[NKBDM];              /* Macro                        */
  21. NOSHARE char *execstr = NULL;           /* pointer to string to execute */
  22. NOSHARE char golabel[NPAT] = "";        /* current line to go to        */
  23. NOSHARE int DNEAR execlevel = 0;        /* execution IF level           */
  24. NOSHARE int DNEAR eolexist = TRUE;      /* does clear to EOL exist?     */
  25. NOSHARE int DNEAR revexist = FALSE;     /* does reverse video exist?    */
  26. NOSHARE int DNEAR flickcode = TRUE;     /* do flicker supression?       */
  27. CONST char *modename[] = {              /* name of modes                */
  28.         "WRAP", "CMODE", "SPELL", "EXACT", "VIEW", "OVER",
  29.         "MAGIC", "CRYPT", "ASAVE"};
  30. CONST char modecode[] = "WCSEVOMYA";    /* letters to represent modes   */
  31. NOSHARE int DNEAR numfunc = NFUNCS;     /* number of bindable functions */
  32. NOSHARE int DNEAR gmode = 0;            /* global editor mode           */
  33. NOSHARE int DNEAR gflags = GFREAD;      /* global control flag          */
  34. NOSHARE int DNEAR gfcolor = 7;          /* global forgrnd color (white) */
  35. NOSHARE int DNEAR gbcolor = 0;          /* global backgrnd color (black)*/
  36. NOSHARE int DNEAR gasave = 256;         /* global ASAVE size            */
  37. NOSHARE int DNEAR gacount = 256;        /* count until next ASAVE       */
  38. NOSHARE int DNEAR sgarbf = TRUE;        /* TRUE if screen is garbage    */
  39. NOSHARE int DNEAR mpresf = FALSE;       /* TRUE if message in last line */
  40. NOSHARE int DNEAR clexec = FALSE;       /* command line execution flag  */
  41. NOSHARE int DNEAR mstore = FALSE;       /* storing text to macro flag   */
  42. NOSHARE int DNEAR discmd = TRUE;        /* display command flag         */
  43. NOSHARE int DNEAR disinp = TRUE;        /* display input characters     */
  44. NOSHARE int DNEAR modeflag = TRUE;      /* display modelines flag       */
  45. NOSHARE int DNEAR sscroll = FALSE;      /* smooth scrolling enabled flag*/
  46. NOSHARE int DNEAR hscroll = TRUE;       /* horizontal scrolling flag    */
  47. NOSHARE int DNEAR hjump = 1;            /* horizontal jump size         */
  48. NOSHARE int DNEAR ssave = FALSE;        /* safe save flag               */
  49. NOSHARE struct BUFFER *bstore = NULL;   /* buffer to store macro text to*/
  50. NOSHARE int DNEAR vtrow = 0;            /* Row location of SW cursor    */
  51. NOSHARE int DNEAR vtcol = 0;            /* Column location of SW cursor */
  52. NOSHARE int DNEAR ttrow = HUGE;         /* Row location of HW cursor    */
  53. NOSHARE int DNEAR ttcol = HUGE;         /* Column location of HW cursor */
  54. NOSHARE int DNEAR lbound = 0;           /* leftmost column of current line
  55.                                            being displayed              */
  56. NOSHARE int DNEAR taboff = 0;           /* tab offset for display       */
  57. NOSHARE int DNEAR tabsize = 8;          /* current hard tab size        */
  58. NOSHARE int DNEAR stabsize = 0;         /* current soft tab size (0: use hard tabs)  */
  59. NOSHARE int DNEAR reptc = CTRL | 'U';   /* current universal repeat char*/
  60. NOSHARE int DNEAR abortc = CTRL | 'G';  /* current abort command char   */
  61. NOSHARE int DNEAR sterm = CTRL | '[';   /* search terminating character */
  62.  
  63. NOSHARE int DNEAR prefix = 0;           /* currently pending prefix bits */
  64. NOSHARE int DNEAR prenum = 0;           /*     "       "     numeric arg */
  65. NOSHARE int DNEAR predef = TRUE;        /*     "       "     default flag */
  66.  
  67. NOSHARE int DNEAR quotec = 0x11;        /* quote char during mlreply() */
  68. NOSHARE CONST char *cname[] = {         /* names of colors              */
  69.         "BLACK", "RED", "GREEN", "YELLOW", "BLUE",
  70.         "MAGENTA", "CYAN", "GREY",
  71.         "GRAY", "LRED", "LGREEN", "LYELLOW", "LBLUE",
  72.         "LMAGENTA", "LCYAN", "WHITE"};
  73. NOSHARE KILL *kbufp = NULL;             /* current kill buffer chunk pointer*/
  74. NOSHARE KILL *kbufh = NULL;             /* kill buffer header pointer   */
  75. NOSHARE int kused = KBLOCK;             /* # of bytes used in kill buffer*/
  76. NOSHARE WINDOW *swindow = NULL;         /* saved window pointer         */
  77. NOSHARE int cryptflag = FALSE;          /* currently encrypting?        */
  78. NOSHARE int oldcrypt = FALSE;           /* using old(broken) encryption? */
  79. NOSHARE short *kbdptr;                  /* current position in keyboard buf */
  80. NOSHARE short *kbdend = &kbdm[0];       /* ptr to end of the keyboard */
  81. NOSHARE int DNEAR kbdmode = STOP;       /* current keyboard macro mode  */
  82. NOSHARE int DNEAR kbdrep = 0;           /* number of repetitions        */
  83. NOSHARE int DNEAR restflag = FALSE;     /* restricted use?              */
  84. NOSHARE int DNEAR lastkey = 0;          /* last keystoke                */
  85. NOSHARE int DNEAR seed = 0;             /* random number seed           */
  86. NOSHARE long envram = 0l;               /* # of bytes current in use by malloc */
  87. NOSHARE int DNEAR macbug = FALSE;       /* macro debugging flag         */
  88. NOSHARE int DNEAR mouseflag = TRUE;     /* use the mouse?               */
  89. NOSHARE int DNEAR diagflag = FALSE;     /* diagonal mouse movements?    */
  90. CONST char errorm[] = "ERROR";          /* error literal                */
  91. CONST char truem[] = "TRUE";            /* true literal                 */
  92. CONST char falsem[] = "FALSE";          /* false litereal               */
  93. NOSHARE int DNEAR cmdstatus = TRUE;     /* last command status          */
  94. NOSHARE char palstr[49] = "";           /* palette string               */
  95. NOSHARE char lastmesg[NLONGS] = "";     /* last message posted          */
  96. NOSHARE char *lastptr = NULL;           /* ptr to lastmesg[]            */
  97. NOSHARE int DNEAR saveflag = 0;         /* Flags, saved with the $target var */
  98. NOSHARE char *fline = NULL;             /* dynamic return line          */
  99. NOSHARE int DNEAR flen = 0;             /* current length of fline      */
  100. NOSHARE int DNEAR rval = 0;             /* return value of a subprocess */
  101. NOSHARE int DNEAR eexitflag = FALSE;    /* EMACS exit flag              */
  102. NOSHARE int DNEAR eexitval = 0;         /* and the exit return value    */
  103. NOSHARE int xpos = 0;           /* current column mouse is positioned to*/
  104. NOSHARE int ypos = 0;           /* current screen row        "          */
  105. NOSHARE int nclicks = 0;        /* cleared on any non-mouse event       */
  106.  
  107. /* uninitialized global definitions */
  108.  
  109. NOSHARE int DNEAR currow;       /* Cursor row                   */
  110. NOSHARE int DNEAR curcol;       /* Cursor column                */
  111. NOSHARE int DNEAR thisflag;     /* Flags, this command          */
  112. NOSHARE int DNEAR lastflag;     /* Flags, last command          */
  113. NOSHARE int DNEAR curgoal;      /* Goal for C-P, C-N            */
  114. NOSHARE WINDOW *curwp;          /* Current window               */
  115. NOSHARE BUFFER *curbp;          /* Current buffer               */
  116. NOSHARE WINDOW *wheadp;         /* Head of list of windows      */
  117. NOSHARE BUFFER *bheadp;         /* Head of list of buffers      */
  118. NOSHARE BUFFER *blistp;         /* Buffer for C-X C-B           */
  119.  
  120. NOSHARE char sres[NBUFN];       /* current screen resolution    */
  121.  
  122. NOSHARE int killfoldbound;      /* kill buffer boundaries on fold */
  123. NOSHARE int killedcr;           /* kill buffer contains a [NL] */
  124.  
  125. NOSHARE FOLDLINELIST    *linelist;      /* Fold lines. MJB: 15-Sep-89 */
  126.  
  127. #if     DIACRIT
  128. NOSHARE char lowcase[HICHAR];   /* lower casing map             */
  129. NOSHARE char upcase[HICHAR];    /* upper casing map             */
  130. #endif
  131.  
  132. NOSHARE char pat[NPAT];         /* Search pattern               */
  133. NOSHARE char tap[NPAT];         /* Reversed pattern array.      */
  134. NOSHARE char rpat[NPAT];        /* replacement pattern          */
  135.  
  136. /*      Various "Hook" execution variables      */
  137.  
  138. NOSHARE KEYTAB readhook;        /* executed on all file reads */
  139. NOSHARE KEYTAB wraphook;        /* executed when wrapping text */
  140. NOSHARE KEYTAB cmdhook;         /* executed before looking for a command */
  141. NOSHARE KEYTAB writehook;       /* executed on all file writes */
  142. NOSHARE KEYTAB exbhook;         /* executed when exiting a buffer */
  143. NOSHARE KEYTAB bufhook;         /* executed when entering a buffer */
  144.  
  145. /*      The variable matchlen holds the length of the matched string -
  146.         used by the replace functions. The variable patmatch holds the
  147.         string that satisfies the search command. The variables matchline
  148.         and matchoff hold the line and offset position of the *start* of
  149.         match.
  150. */
  151.  
  152. NOSHARE unsigned int DNEAR matchlen = 0;
  153. NOSHARE unsigned int DNEAR mlenold  = 0;
  154. NOSHARE char *patmatch = NULL;
  155. NOSHARE LINE *matchline = NULL;
  156. NOSHARE int DNEAR matchoff = 0;
  157.  
  158. #if     MAGIC
  159. /*
  160.  * The variables magical and rmagical determine if there
  161.  * were actual metacharacters in the search and replace strings -
  162.  * if not, then we don't have to use the slower MAGIC mode
  163.  * search functions.
  164.  */
  165. NOSHARE short int DNEAR magical = FALSE;
  166. NOSHARE short int DNEAR rmagical = FALSE;
  167. NOSHARE MC mcpat[NPAT];         /* the magic pattern            */
  168. NOSHARE MC tapcm[NPAT];         /* the reversed magic pattern   */
  169. NOSHARE RMC rmcpat[NPAT];       /* the replacement magic array  */
  170.  
  171. #endif
  172.  
  173. /* directive name table:
  174.         This holds the names of all the directives....  */
  175.  
  176. CONST char *dname[] = {
  177.         "if", "else", "endif",
  178.         "goto", "return", "endm",
  179.         "while", "endwhile", "break",
  180.         "force"
  181. };
  182.  
  183. #if     DEBUGM
  184. /*      vars needed for macro debugging output  */
  185. NOSHARE char outline[NSTRING];  /* global string to hold debug line text */
  186. #endif
  187.  
  188. #else
  189.  
  190. /* for all the other .C files */
  191.  
  192. /* initialized global external declarations */
  193.  
  194. NOSHARE extern int DNEAR fillcol;       /* Current fill column          */
  195. NOSHARE extern short kbdm[];            /* Holds kayboard macro data    */
  196. NOSHARE extern char *execstr;           /* pointer to string to execute */
  197. NOSHARE extern char golabel[];          /* current line to go to        */
  198. NOSHARE extern int DNEAR execlevel;     /* execution IF level           */
  199. NOSHARE extern int DNEAR eolexist;      /* does clear to EOL exist?     */
  200. NOSHARE extern int DNEAR revexist;      /* does reverse video exist?    */
  201. NOSHARE extern int DNEAR flickcode;     /* do flicker supression?       */
  202. CONST extern char *modename[];          /* text names of modes          */
  203. CONST extern char modecode[];           /* letters to represent modes   */
  204. NOSHARE extern int DNEAR numfunc;       /* number of bindable functions */
  205. NOSHARE extern KEYTAB keytab[];         /* key bind to functions table  */
  206. NOSHARE extern NBIND names[];           /* name to function table       */
  207. NOSHARE extern int DNEAR gmode;         /* global editor mode           */
  208. NOSHARE extern int DNEAR gflags;        /* global control flag          */
  209. NOSHARE extern int DNEAR gfcolor;       /* global forgrnd color (white) */
  210. NOSHARE extern int DNEAR gbcolor;       /* global backgrnd color (black)*/
  211. NOSHARE extern int DNEAR gasave;        /* global ASAVE size            */
  212. NOSHARE extern int DNEAR gacount;       /* count until next ASAVE       */
  213. NOSHARE extern int DNEAR sgarbf;        /* State of screen unknown      */
  214. NOSHARE extern int DNEAR mpresf;        /* Stuff in message line        */
  215. NOSHARE extern int DNEAR clexec;        /* command line execution flag  */
  216. NOSHARE extern int DNEAR mstore;        /* storing text to macro flag   */
  217. NOSHARE extern int DNEAR discmd;        /* display command flag         */
  218. NOSHARE extern int DNEAR disinp;        /* display input characters     */
  219. NOSHARE extern int DNEAR modeflag;      /* display modelines flag       */
  220. NOSHARE extern int DNEAR sscroll;       /* smooth scrolling enabled flag*/
  221. NOSHARE extern int DNEAR hscroll;       /* horizontal scrolling flag    */
  222. NOSHARE extern int DNEAR hjump;         /* horizontal jump size         */
  223. NOSHARE extern int DNEAR ssave;         /* safe save flag               */
  224. NOSHARE extern struct BUFFER *bstore;   /* buffer to store macro text to*/
  225. NOSHARE extern int DNEAR vtrow;         /* Row location of SW cursor    */
  226. NOSHARE extern int DNEAR vtcol;         /* Column location of SW cursor */
  227. NOSHARE extern int DNEAR ttrow;         /* Row location of HW cursor    */
  228. NOSHARE extern int DNEAR ttcol;         /* Column location of HW cursor */
  229. NOSHARE extern int DNEAR lbound;        /* leftmost column of current line
  230.                                            being displayed              */
  231. NOSHARE extern int DNEAR taboff;        /* tab offset for display       */
  232. NOSHARE extern int DNEAR tabsize;       /* current hard tab size        */
  233. NOSHARE extern int DNEAR stabsize;      /* current soft tab size (0: use hard tabs)  */
  234. NOSHARE extern int DNEAR reptc;         /* current universal repeat char*/
  235. NOSHARE extern int DNEAR abortc;        /* current abort command char   */
  236. NOSHARE extern int DNEAR sterm;         /* search terminating character */
  237.  
  238. NOSHARE extern FOLDMARKENT *foldmarktab; /* Fold marker table. BG: 11-Oct-89 */
  239.  
  240. NOSHARE extern int DNEAR prefix;        /* currently pending prefix bits */
  241. NOSHARE extern int DNEAR prenum;        /*     "       "     numeric arg */
  242. NOSHARE extern int DNEAR predef;        /*     "       "     default flag */
  243.  
  244. NOSHARE extern int DNEAR quotec;        /* quote char during mlreply() */
  245. extern CONST char *cname[];             /* names of colors              */
  246. NOSHARE extern KILL *kbufp;             /* current kill buffer chunk pointer */
  247. NOSHARE extern KILL *kbufh;             /* kill buffer header pointer   */
  248. NOSHARE extern int kused;               /* # of bytes used in kill buffer*/
  249. NOSHARE extern WINDOW *swindow;         /* saved window pointer         */
  250. NOSHARE extern int cryptflag;           /* currently encrypting?        */
  251. NOSHARE extern int oldcrypt;            /* using old(broken) encryption? */
  252. NOSHARE extern short *kbdptr;           /* current position in keyboard buf */
  253. NOSHARE extern short *kbdend;           /* ptr to end of the keyboard */
  254. NOSHARE extern int kbdmode;             /* current keyboard macro mode  */
  255. NOSHARE extern int kbdrep;              /* number of repetitions        */
  256. NOSHARE extern int restflag;            /* restricted use?              */
  257. NOSHARE extern int lastkey;             /* last keystoke                */
  258. NOSHARE extern int seed;                /* random number seed           */
  259. NOSHARE extern long envram;             /* # of bytes current in use by malloc */
  260. NOSHARE extern int DNEAR macbug;        /* macro debugging flag         */
  261. NOSHARE extern int DNEAR mouseflag;     /* use the mouse?               */
  262. NOSHARE extern int DNEAR diagflag;      /* diagonal mouse movements?    */
  263. CONST extern char errorm[];             /* error literal                */
  264. CONST extern char truem[];              /* true literal                 */
  265. CONST extern char falsem[];             /* false litereal               */
  266. NOSHARE extern int DNEAR cmdstatus;     /* last command status          */
  267. NOSHARE extern char palstr[];           /* palette string               */
  268. NOSHARE extern char lastmesg[];         /* last message posted          */
  269. NOSHARE extern char *lastptr;           /* ptr to lastmesg[]            */
  270. NOSHARE extern int DNEAR saveflag;      /* Flags, saved with the $target var */
  271. NOSHARE extern char *fline;             /* dynamic return line */
  272. NOSHARE extern int DNEAR flen;          /* current length of fline */
  273. NOSHARE extern int DNEAR rval;          /* return value of a subprocess */
  274. NOSHARE extern int DNEAR eexitflag;     /* EMACS exit flag */
  275. NOSHARE extern int DNEAR eexitval;      /* and the exit return value */
  276. NOSHARE extern int xpos;                /* current column mouse is positioned to */
  277. NOSHARE extern int ypos;                /* current screen row        "   */
  278. NOSHARE extern int nclicks;             /* cleared on any non-mouse event*/
  279.  
  280. /* uninitialized global external declarations */
  281.  
  282. NOSHARE extern int DNEAR currow;        /* Cursor row                   */
  283. NOSHARE extern int DNEAR curcol;        /* Cursor column                */
  284. NOSHARE extern int DNEAR thisflag;      /* Flags, this command          */
  285. NOSHARE extern int DNEAR lastflag;      /* Flags, last command          */
  286. NOSHARE extern int DNEAR curgoal;       /* Goal for C-P, C-N            */
  287. NOSHARE extern WINDOW *curwp;           /* Current window               */
  288. NOSHARE extern BUFFER *curbp;           /* Current buffer               */
  289. NOSHARE extern WINDOW *wheadp;          /* Head of list of windows      */
  290. NOSHARE extern BUFFER *bheadp;          /* Head of list of buffers      */
  291. NOSHARE extern BUFFER *blistp;          /* Buffer for C-X C-B           */
  292.  
  293. NOSHARE extern char sres[NBUFN];        /* current screen resolution    */
  294.  
  295. NOSHARE extern int killfoldbound;       /* kill buffer is fold bounded */
  296. NOSHARE extern int killedcr;            /* kill buffer contains a [NL] */
  297.  
  298. NOSHARE extern FOLDLINELIST *linelist;  /* Fold lines. MJB: 15-Sep-89 */
  299.  
  300. #if     DIACRIT
  301. NOSHARE extern char lowcase[HICHAR];    /* lower casing map             */
  302. NOSHARE extern char upcase[HICHAR];     /* upper casing map             */
  303. #endif
  304.  
  305. NOSHARE extern char pat[];              /* Search pattern               */
  306. NOSHARE extern char tap[];              /* Reversed pattern array.      */
  307. NOSHARE extern char rpat[];             /* replacement pattern          */
  308.  
  309. /*      Various "Hook" execution variables      */
  310.  
  311. NOSHARE extern KEYTAB readhook;         /* executed on all file reads */
  312. NOSHARE extern KEYTAB wraphook;         /* executed when wrapping text */
  313. NOSHARE extern KEYTAB cmdhook;          /* executed before looking for a cmd */
  314. NOSHARE extern KEYTAB writehook;        /* executed on all file writes */
  315. NOSHARE extern KEYTAB exbhook;          /* executed when exiting a buffer */
  316. NOSHARE extern KEYTAB bufhook;          /* executed when entering a buffer */
  317.  
  318. NOSHARE extern unsigned int matchlen;
  319. NOSHARE extern unsigned int mlenold;
  320. NOSHARE extern char *patmatch;
  321. NOSHARE extern LINE *matchline;
  322. NOSHARE extern int matchoff;
  323.  
  324. #if     MAGIC
  325. NOSHARE extern short int magical;
  326. NOSHARE extern short int rmagical;
  327. NOSHARE extern MC mcpat[NPAT];          /* the magic pattern            */
  328. NOSHARE extern MC tapcm[NPAT];          /* the reversed magic pattern   */
  329. NOSHARE extern RMC rmcpat[NPAT];        /* the replacement magic array  */
  330. #endif
  331.  
  332. CONST extern char *dname[];             /* directive name table         */
  333.  
  334. #if     DEBUGM
  335. /*      vars needed for macro debugging output  */
  336. NOSHARE extern char outline[];  /* global string to hold debug line text */
  337. #endif
  338.  
  339. #endif
  340.  
  341. /* terminal table defined only in TERM.C */
  342.  
  343. #ifndef termdef
  344. NOSHARE extern TERM     term;           /* Terminal information.        */
  345. #endif
  346.